交叉熵,相对熵 (KL 散度),JS散度,Wasserstein距离(推土机距离)

线性反投影
稀疏表示 知乎
DCT
希尔伯特-黄变换 知乎链接

一些引用

通俗的解释交叉熵与相对熵,浅显易懂!

名称 含义 公式 备注
信息熵 编码完美时,最短平均编码长度 k=1Npklog21pk
交叉熵 编码方案不一定完美时,平均编码长度 k=1Npklog21qk 编码方案不一定完美时,估计分布与真实分布有差别
相对熵 编码方案不一定完美时,编码长度相对于信息熵的增量 k=1Npklog2pkqk PQ完全没有重叠的时候没有意义,梯度=0
JS散度 类似相对熵,度量两个概率分布的相似度,但是解决了KL散度的非对称问题,取值0~1 Jensen-Shanno;PQ完全没有重叠的时候为常数,梯度=0
Wasserstein距离,EMD距离 度量两个概率分布的距离(γ这个路径规划下把土堆P1挪到土堆P2所需要的最小消耗) infγΠ(P1,P2)E(x,y)γ[|xy|] 即使两个分布的支撑集没有重叠或者重叠非常少,仍然能反映两个分布的远近。

信息熵&交叉熵&相对熵

#信息熵 :$$\sum_{k=1}^Np_klog_2{\frac{1}{p_k}}$$
#交叉熵 :$$\sum_{k=1}^Np_klog_2{\frac{1}{q_k}}$$pk表示真实分布,qk表示非真实分布,用来衡量在给定的真实分布下,使用非真实分布所指定的策略消除系统的不确定性所需要付出的努力的大小。这也是为什么在机器学习中的分类算法中,我们总是最小化交叉熵,因为交叉熵越低,就证明由算法所产生的策略最接近最优策略,也间接证明我们算法所算出的非真实分布越接近真实分布。

最后,我们如何去衡量不同策略之间的差异呢?这就需要用到相对熵(relative entropy, Kullbach-Leibler divergence KL散度),其用来衡量两个取值为正的函数或概率分布之间的差异,即:

KL(f(x)g(x))=xXf(x)log2f(x)g(x)

假设我们想知道某个策略和最优策略之间的差异,我们就可以用相对熵来衡量这两者之间的差异。即,相对熵 = 某个策略的交叉熵 - 信息熵(根据系统真实分布计算而得的信息熵,为最优策略),公式如下:

KL(pq)=H(p,q)H(p)=k=1Npklog21qkk=1Npklog21pk=k=1Npklog2pkqk

#JS散度 :$$ J S\left(P_{1} | P_{2}\right)=\frac{1}{2} K L\left(P_{1} | \frac{P_{1}+P_{2}}{2}\right)+\frac{1}{2} K L\left(P_{2} | \frac{P_{1}+P_{2}}{2}\right) $$
#Wassertein距离,EMD距离 Earth Mover‘s Distance:$$ \inf_{\gamma \sim \Pi(P_1,P_2)} \mathbb{E}_{(x, y) \sim \gamma}[|x-y|] $$